// 用户管理模块的接口
import request from '@/utils/request'

// 枚举地址
export const API = {
    // 获取全部已有用户账号信息
    ALLUSER_URL: '/system/user/findPage',
    // 添加一个新的用户账号
    ADDUSER_URL: '/system/user/save',
    // 更新已有的用户账号
    UPDATEUSER_URL: '/system/user/update',
    // 删除账号
    DELETEUSER_URL: '/system/user/remove/',
    // 重置密码
    RESETPASSWORD_URL: '/system/user/resetPwd/',
    // 获取全部职位,当前账号拥有的职位接口
    ALLROLEURL: '/system/role/getRoles/',
    // 给已有的用户分配角色接口
    SETROLE_URL: '/system/role/doAssignRole',
    // 导出数据
    EXPORT_DATA: '/system/user/export',
    // 导出模板
    EXPORT_TEMPLATE: '/system/user/exportTemplate',
    // 导入数据
    IMPORT_DATA: '/api/system/user/import',
}

// 获取用户账号信息的接口
export const reqUserInfo = (pageRequest) =>
    request.post(
        API.ALLUSER_URL, pageRequest,
    )

// 添加用户与更新已有用户的接口
export const reqAddOrUpdateUser = (data) => {
    // 携带参数有ID更新
    if (data.id) {
        return request.post(API.UPDATEUSER_URL, data)
    } else {
        return request.post(API.ADDUSER_URL, data)
    }
}

// 获取全部职位以及包含当前用户的已有的职位
export const reqAllRole = (userId) =>
    request.get(API.ALLROLEURL + userId)

// 分配职位
export const reqSetUserRole = (data) =>
    request.post(API.SETROLE_URL, data)

// 删除账号的信息
export const reqRemoveUser = (userId) =>
    request.get(API.DELETEUSER_URL + `?ids=${userId}`)

// 重置密码
export const reqResetPassword = (data) =>
    request.post(API.RESETPASSWORD_URL, data)

// 导出数据接口
export const exportData = () =>
    request.get(API.EXPORT_DATA, {responseType: 'blob'})

// 导出模板
export const exportTemplate = () =>
    request.get(API.EXPORT_TEMPLATE, {responseType: 'blob'})

// 查用户接口
export const findUserModelApi = (model) => {
    return request.post('/system/user/findByModel', model)
}

